# -*- coding: UTF-8 -*-
import turtle as t

# 设置背景颜色，窗口位置以及大小

t.colormode(255)  # 颜色模式
t.speed(0)
t.screensize(800, 800, "white")  # 画布大小背景颜色
t.setup(width=800, height=800, startx=None, starty=None)  # 绘图窗口的大小和起始坐标
# t.bgpic("di_2_800.gif")
t.title("逆境清醒皮卡丘！")  # 设置绘图窗口的标题
t.resizemode('noresize')  # 大小调整模式:auto,user,noresize
t.tracer(1)
t.hideturtle()


def mlingpen(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()


def mlingpkqface(x, y):
    mlingpen(x, y)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#FBD624')
    t.begin_fill()
    t.seth(40)
    t.circle(100, 30)
    t.circle(40, 60)
    t.right(30)
    t.circle(160, 20)
    t.seth(-20)
    t.circle(300, 30)
    t.circle(30, 50)
    t.left(85)
    t.circle(300, 85)
    t.left(1)
    t.circle(300, 35)
    t.circle(30, 40)
    t.seth(40)
    t.circle(300, 32)
    t.right(150)
    t.circle(100, 30)
    t.circle(30, 60)
    t.left(180)
    t.circle(100, 60)
    t.right(30)
    t.circle(100, 60)
    t.circle(70, 120)
    t.circle(-120, 80)
    t.circle(35, 140)
    t.right(60)
    t.circle(300, 23)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.circle(30, 23)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.circle(90, 80)
    t.right(170)
    t.circle(70, 65)
    t.right(20)
    t.circle(-150, 20)
    t.circle(20, 90)
    t.right(200)
    t.circle(50, 50)
    t.goto(x, y)
    t.end_fill()
    t.penup()
    t.goto(-72, -25)
    t.pendown()
    t.pencolor("#923E24")
    t.fillcolor("#923E24")
    t.begin_fill()
    t.seth(-6)
    t.circle(120, 30)
    t.right(160)
    t.circle(-50, 65)
    t.end_fill()
    mlingpen(209.21, 135.02)
    t.pensize(3)
    t.pencolor("#000000")
    t.fillcolor('#000000')
    t.seth(145)
    t.begin_fill()
    t.circle(300, 12)
    t.left(50)
    t.circle(60, 59)
    t.left(88)
    t.circle(190, 30)
    t.end_fill()
    mlingpen(-253.14, -105.48)
    t.pensize(3)
    t.pencolor("#000000")
    t.fillcolor('#000000')
    t.seth(40)
    t.begin_fill()
    t.circle(300, 12)
    t.left(50)
    t.circle(60, 57)
    t.left(88)
    t.circle(190, 30)
    t.end_fill()


def mlingpkqyingyinying():
    t.penup()
    t.seth(0)
    t.pensize(1)
    t.pencolor("#DDA120")
    t.fillcolor('#DDA120')
    t.begin_fill()
    t.left(220)
    mlingpen(-179, -90)
    t.circle(97, 60)
    t.circle(69, 122)
    t.circle(-120, 80)
    t.circle(33, 135)
    t.left(90)
    t.circle(-25, 150)
    t.left(175)
    t.circle(-60, 140)
    t.left(175)
    t.circle(-60, 100)
    t.right(5)
    t.circle(85, 60)
    t.goto(-179, -90)
    t.end_fill()
    t.penup()
    t.penup()
    t.seth(0)
    mlingpen(115.87, -170.16)
    t.pencolor("#eca9a9")
    t.fillcolor('#eca9a9')
    t.begin_fill()
    t.left(45)
    t.circle(300, 20)
    t.circle(8, 155)
    t.left(3)
    t.circle(300, 20)
    t.circle(9, 155)
    t.goto(115.87, -170.16)
    t.end_fill()
    t.penup()


def mlingpkqjiao():
    mlingpen(-215, -160)
    t.pensize(3)
    t.pencolor("#FBD624")
    t.fillcolor('#FBD624')
    t.begin_fill()
    t.seth(-30)
    t.circle(30, 70)
    t.left(20)
    t.circle(-50, 150)
    t.circle(10, 160)
    t.circle(80, 80)
    t.left(5)
    t.circle(75, 110)
    t.goto(-210, -160)
    t.penup()
    t.end_fill()
    mlingpen(-149, -191)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#FBD624')
    t.begin_fill()
    t.seth(0)
    t.left(40)
    t.circle(148, 55)
    t.right(38)
    t.fd(20)
    t.left(128)
    t.fd(15)
    t.right(88)
    t.fd(15)
    t.left(128)
    t.fd(15)
    t.right(88)
    t.fd(15)
    t.left(128)
    t.fd(15)
    t.right(45)
    t.circle(130, 60)
    t.circle(23, 75)
    t.end_fill()
    mlingpen(-149, -180)
    t.pensize(3)
    t.pencolor("#eca9a9")
    t.fillcolor('#eca9a9')
    t.begin_fill()
    t.seth(0)
    t.left(45)
    t.circle(148, 45)
    t.left(45)
    t.circle(15, 110)
    t.right(18)
    t.circle(130, 40)
    t.circle(17, 100)
    t.end_fill()


def mlingpkqcap():
    mlingpen(-210, 95)
    t.pensize(4)
    t.pencolor("#000000")
    t.fillcolor('#CD0000')
    t.begin_fill()
    t.seth(290)
    t.circle(45, 80)
    t.circle(345, 30)
    t.circle(45, 90)
    t.left(2)
    t.fd(120)
    t.left(45)
    t.circle(200, 60)
    t.goto(-210, 95)
    t.end_fill()
    t.left(175)
    t.circle(-290, 50)
    t.pencolor("#000000")
    t.pensize(3)
    t.pencolor("#000000")
    t.fillcolor('#ffffff')
    mlingpen(-160, 272)
    t.begin_fill()
    t.goto(-80, 260)
    t.goto(-45, 200)
    t.left(186)
    t.circle(230, 41)
    t.goto(-210, 200)
    t.goto(-180, 270)
    t.goto(-160, 272)
    t.end_fill()
    mlingpen(-175, 265)
    t.seth(0)
    t.begin_fill()
    t.circle(13)
    t.end_fill()
    t.penup()
    mlingpen(-125, 222)
    t.pensize(7)
    t.pencolor("#6ba65a")
    t.goto(-140, 225)
    t.pensize(9)
    t.goto(-155, 170)
    t.left(45)
    t.circle(-130, 30)
    t.pensize(3)
    mlingpen(-205, 96)
    t.pensize(3)
    t.pencolor("#ffffff")
    t.seth(286)
    t.circle(39, 74)
    t.left(9)
    t.circle(331, 32)
    t.circle(45, 80)
    t.pensize(3)


def mlingpkqeye():
    t.color("#000000", "#702c00")
    mlingpen(-110, 24)
    t.begin_fill()
    t.seth(0)
    t.circle(24)
    t.end_fill()
    mlingpen(-110, 31)
    t.color("black", "black")
    t.begin_fill()
    t.circle(20)
    t.end_fill()
    t.color("white", "white")
    mlingpen(-105, 53)
    t.begin_fill()
    t.circle(8)
    t.end_fill()
    t.color("#000000", "#702c00")
    mlingpen(0, 62)
    t.begin_fill()
    t.seth(0)
    t.circle(24)
    t.end_fill()
    mlingpen(2, 70)
    t.color("black", "black")
    t.begin_fill()
    t.circle(20)
    t.end_fill()
    mlingpen(5, 92)
    t.color("white", "white")
    t.begin_fill()
    t.circle(8)
    t.penup()
    t.end_fill()
    t.hideturtle()


def mlingpkqcheek1():
    t.color("#9E4406", "#FE2C21")
    t.penup()
    t.goto(-130, -50)
    t.pendown()
    t.begin_fill()
    t.setheading(0)
    t.circle(27)
    t.end_fill()
    t.color("#9E4406", "#FE2C21")
    t.penup()
    mlingpen(53, -20)
    t.pendown()
    t.begin_fill()
    t.setheading(0)
    t.circle(27)
    t.end_fill()


def mlingweiba(x, y):
    mlingpen(x, y)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#CD853F')
    t.begin_fill()
    t.seth(40)
    t.fd(200)
    t.seth(-80)
    t.fd(150)
    t.seth(210)
    t.fd(150)
    t.left(90)
    t.fd(100)
    t.right(95)
    t.fd(100)
    t.left(110)
    t.fd(70)
    t.right(110)
    t.fd(80)
    t.left(110)
    t.fd(30)
    t.right(110)
    t.fd(32)
    t.right(106)
    t.circle(100, 25)
    t.right(15)
    t.circle(-300, 2)
    t.seth(30)
    t.fd(40)
    t.left(100)
    t.fd(70)
    t.right(100)
    t.fd(80)
    t.left(100)
    t.fd(46)
    t.seth(66)
    t.circle(200, 38)
    t.right(10)
    t.fd(10)
    t.end_fill()
    mlingpen(202, 250)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#FBD624')
    t.begin_fill()
    t.seth(220)
    t.fd(120)
    t.circle(75, 120)
    t.left(50)
    t.fd(110)
    t.end_fill()


def mlingpkqcheek2(x, y, fx):
    mlingpen(x, y)
    t.seth(fx)
    t.pencolor("#840101")
    t.fillcolor('#CD0000')
    t.begin_fill()
    n = 1.8
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            n -= 0.05
            t.left(3)
            t.fd(n)
        else:
            n += 0.05
            t.left(3)
            t.fd(n)
    t.end_fill()


def mlingpkqmouth():
    mlingpen(-60, 20)
    t.pensize(3)
    t.pencolor("#923E24")
    t.seth(-48)
    t.begin_fill()
    t.circle(15, 110)
    t.right(90)
    t.circle(15, 110)
    t.seth(0)
    mlingpen(-50, 45)
    t.circle(5, 180)


def mlingpkqshou1():
    mlingpen(-130, -30)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#FBD624')
    t.seth(100)
    t.begin_fill()
    t.circle(130, 30)
    t.right(100)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(30)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(30)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(50)
    t.circle(70, 150)
    t.end_fill()

    mlingpen(-138, -67)
    t.pensize(2)
    t.pencolor("#DDA120")
    t.fillcolor('#DDA120')
    t.left(90)
    t.begin_fill()
    t.circle(40, 40)
    t.left(10)
    t.circle(-60, 70)
    t.left(40)
    t.circle(30, 40)
    t.left(83)
    t.circle(70, 110)
    t.end_fill()


def mlingpkqshou2():
    mlingpen(0, -40)
    t.pensize(3)
    t.pencolor("#923E24")
    t.fillcolor('#FBD624')
    t.seth(200)
    t.begin_fill()
    t.circle(55, 90)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(90)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(60)
    t.fd(10)
    t.left(90)
    t.fd(10)
    t.right(50)
    t.circle(60, 80)
    t.end_fill()


def mlingpkqball():
    mlingpen(-30, -250)
    t.pensize(3)
    t.pencolor("#000000")
    t.fillcolor('#CD0000')
    t.seth(0)
    t.begin_fill()
    t.circle(80)
    t.end_fill()
    mlingpen(-110, -170)
    t.seth(-90)
    t.pencolor("#000000")
    t.fillcolor('#ffffff')
    t.begin_fill()
    t.circle(80, 180)
    t.end_fill()
    t.pensize(12)
    mlingpen(-105, -170)
    t.pencolor("#000000")
    t.goto(44, -170)
    t.pensize(3)
    mlingpen(-4, -170)
    t.pencolor("#000000")
    t.fillcolor('#000000')
    t.begin_fill()
    t.circle(28)
    t.end_fill()
    mlingpen(-11, -170)
    t.pencolor("#000000")
    t.fillcolor('#ffffff')
    t.begin_fill()
    t.circle(20)
    t.end_fill()
    mlingpen(-21, -170)
    t.pencolor("#000000")
    t.fillcolor('#ffffff')
    t.begin_fill()
    t.circle(10)
    t.end_fill()


def main():
    mlingweiba(50, 120)
    mlingpkqface(30, 0)
    mlingpkqyingyinying()
    mlingpkqcap()
    mlingpkqcheek2(-140, -10, 300)
    mlingpkqcheek2(60, 50, 80)
    mlingpkqshou1()
    mlingpkqjiao()
    mlingpkqball()
    mlingpkqshou2()
    mlingpkqmouth()
    mlingpkqeye()


t.color('#321320')
t.penup()
t.goto(260, -40)
t.pendown()
t.write("愿\n你\n拥\n有\n一\n只\n会\n永\n远\n爱\n你\n的\n皮\n卡\n丘\n", align="center", font=("黑体", 15, "normal"))
t.penup()
t.goto(290, 215)
t.pendown()
t.write("逆\n境\n清\n醒\n", align="center", font=("黑体", 10, "normal"))

if __name__ == '__main__':
    main()
    t.done()
    t.hideturtle()
